#include <algorithm>
#include <iostream>
using namespace std;

// class A
// {
// public:
//     explicit A(int a = 0)
//         :_a(a)
//     {
//         cout << "A():" << endl;
//     }
//
//     ~A()
//     {
//         cout << "~A():" << endl;
//     }
//
// private:
//     int _a;
// };
//
// int main()
// {
//     A* p1 =  (A*)malloc(sizeof(A));
//     A* p2 = new A(1);
//     free(p1);
//     delete p2;
//
//     int* p3 = (int*)malloc(sizeof(int));
//     int* p4 = new int;
//     free(p3);
//     delete p4;
//
//     A* p5 = (A*)malloc(sizeof(A)*10);
//     A* p6 = new A[10];
//     free(p5);
//     delete[] p6;
//
//     return 0;
// }

// //字符串相加
// class Solution
// {
// public:
//     //它并不依赖于类的任何成员变量，只是执行了字符串相加的操作，因此可以将其声明为静态方法。
//     static string addStrings(string num1, string num2)
//     {
//         int i = num1.size() - 1;
//         int j = num2.size() - 1;
//         int k = 0;
//         string addstring;
//         while(i>=0 || j>=0 || k)
//         {
//             int dig1 = i>=0 ? num1[i] - '0' : 0;
//             int dig2 = j>=0 ? num2[j] - '0' : 0;
//             int sum = dig1 + dig2 + k;
//             k = sum/10;
//             addstring += sum%10 + '0';
//
//             --i;
//             --j;
//         }
//
//         reverse(addstring.begin(),addstring.end());
//         return addstring;
//     }
// };
//
// int main()
// {
//     string num1 = "123";
//     string num2 = "321";
//     std::cout << "result: " << Solution::addStrings(num1, num2) << std::endl;
//     return 0;
// }

void Swap(int& left, int& right)
{
    int temp = left;
    left = right;
    right = temp;
}

void Swap(double& left, double& right)
{
    double temp = left;
    left = right;
    right = temp;
}

void Swap(char& left, char& right)
{
    char temp = left;
    left = right;
    right = temp;
}















